package com.hb.trade.api.im.chat.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hb.core.pojo.im.entity.ChatRecord;
import com.hb.core.pojo.im.entity.ChatRecordContent;
import org.fzzn.core.model.user.layim.LayImUser;

/**
 * <p>
 * 聊天记录表 服务类
 * </p>
 *
 * @author zhaojk
 * @since 2021-12-30
 */
public interface ChatRecordContentService extends IService<ChatRecordContent> {

    /**
     * 添加一条聊天记录
     *
     * @param record
     */
    void saveFromRecord(ChatRecord record);

    /**
     * 查看指定发送人与指定接收人(或指定群组的)的聊天记录
     * 默认查询最后一页的数据
     *
     * @param fromId 指定发送人(或指定群组的)id, 关联表(im_chat_user, im_chat_group)
     * @param toId   指定接收人id, 关联表(im_chat_user, im_chat_group)
     * @param type   消息类型, layim封装("friend", "group")
     * @return
     */
    Page<LayImUser> historyRecord(Long fromId, Long toId, String type);

    /**
     * 查看指定发送人与指定接收人(或指定群组的)的聊天记录
     * 默认查询最后一页的数据
     *
     * @param recordContent
     * @return
     * @see ChatRecordContentService#historyRecord(java.lang.Long, java.lang.Long, java.lang.String)
     */
    Page<LayImUser> historyRecord(ChatRecordContent recordContent);
}
